package com.zy.qudadid.presenter;

import com.zy.qudadid.model.Res;
import com.zy.qudadid.model.User;
import com.zy.qudadid.network.Const;
import com.zy.qudadid.network.Net;
import com.zy.qudadid.presenter.base.BasePresenterImp;
import com.zy.qudadid.ui.view.RegisterView;

import rx.Subscriber;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;


public class RegisterPresenter extends BasePresenterImp<RegisterView> {

    public void Register(String data){
        Subscription subscription = Net.getService()
                .Register(data)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Subscriber<Res<User>>() {

                    @Override
                    public void onCompleted() {
                    }

                    @Override
                    public void onError(Throwable e) {
                        view.exception();
                        e.printStackTrace();
                    }

                    @Override
                    public void onNext(Res res) {
                        if (res.code == Const.OK) {
                            view.registerSuccess();
                        } else {
                            view.registerError(res.message);
                        }
                    }
                });

        addSubscription(subscription);
    }

    public void resetPassword(String data){
        Subscription subscription = Net.getService()
                .resetPassword(data)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Subscriber<Res<User>>() {

                    @Override
                    public void onCompleted() {
                    }

                    @Override
                    public void onError(Throwable e) {
                        view.exception();
                        e.printStackTrace();
                    }

                    @Override
                    public void onNext(Res res) {
                        if (res.code == Const.OK) {
                            view.registerSuccess();
                        } else {
                            view.registerError(res.message);
                        }
                    }
                });

        addSubscription(subscription);
    }

//    public void login(String data){
//        Subscription subscription = Net.getService()
//                .login(data)
//                .subscribeOn(Schedulers.io())
//                .observeOn(AndroidSchedulers.mainThread())
//                .subscribe(new Subscriber<Res<User>>() {
//
//                    @Override
//                    public void onCompleted() {
//                    }
//
//                    @Override
//                    public void onError(Throwable e) {
//
//                    }
//
//                    @Override
//                    public void onNext(Res<User> res) {
//                        if (res.code == Const.OK) {
//                            new UserUtil(view.getContext()).putUser(res.datas);
//                            view.loginSuccess();
////                        } else {
//                            view.loginError(res.message);
//                        }
//                    }
//                });
//
//        addSubscription(subscription);
//    }

    //    public void forget(String data){
//        Subscription subscription = Net.getService()
//                .forgetPassword(data)
//                .subscribeOn(Schedulers.io())
//                .observeOn(AndroidSchedulers.mainThread())
//                .subscribe(new Subscriber<Res>() {
//
//                    @Override
//                    public void onCompleted() {
//                    }
//
//                    @Override
//                    public void onError(Throwable e) {
//
//                    }
//
//                    @Override
//                    public void onNext(Res res) {
//                        if (res.code == Const.OK) {
//                            view.success();
//                        } else {
//                            view.error(res.message);
//                        }
//                    }
//                });
//
//        addSubscription(subscription);
//    }

}
